#用户代理
#有些时候爬取的数据比F12显示的数据少
#因为缺少 User-Agent 表示客户端的操作系统和浏览器信息
#带上 User-Agent 表示是浏览器在发送请求,而不是爬虫在发送
import requests
#获取url
url = "https://www.baidu.com/"
#构建请求头 字典形式
headers = {
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0"
}
#发送请求,获取响应
response = requests.get(url,headers=headers) #装入请求头发送
print(len(response.content.decode()))
#User-Agent请求池 --防止反爬
#多次使用相同的User-Agent,可能会被判断出来为爬虫程序,所以要构建User-Agent请求池,轮流发起请求
#通过F12更改适配模型,来获取不同的ua信息
import random
UAlist=[
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0",
    "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1 Edg/138.0.0.0",
    "Mozilla/5.0 (iPad; CPU OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1 Edg/138.0.0.0"
]
print(random.choice(UAlist)) #random.choice() 随机选择
#第三方模块 随机池 fake_useragent 可能会报错出现异常
from fake_useragent import UserAgent
print(UserAgent().random)


